﻿using System.Data;

namespace Viyi.Util.Data.Converter
{
    /// <summary>
    /// <c>DataTable</c>列数据转换器接口。
    /// </summary>
    public interface IDataTableColumnConverter
    {
        /// <summary>
        /// 将数据表中某列的数据，按一定算法（由实体类决定）转换并将结果置于新列。
        /// </summary>
        /// <param name="data">数据表</param>
        /// <param name="columnName">原列名</param>
        /// <param name="newColumnName">新列名</param>
        /// <remarks>如果新列名为<c>null</c>、<c>string.Empty</c>或仅包含空白字符，
        /// 则转换后的新列会被用来代替源列，源列数据会被丢弃。</remarks>
        void Convert(DataTable data, string columnName, string newColumnName = null);
    }
}
